package de.dhbw.tit07.progress.internal;
public class DivideableProgress extends InternalProgress {
private final InternalProgress parent;
public DivideableProgress(InternalProgress parent) {
super();
this.parent = parent;
}
@Override
protected InternalProgress createChildProgress() {
return new DivideableProgress(this);
}
@Override
public void finished() {
this.parent.addAsCompleted();
}
@Override
protected void addAsCompleted() {
super.addAsCompleted();
this.parent.reportPartialCompletion(getCompletionPercentage());
}
@Override
protected void reportPartialCompletion(double percentage) {
this.parent.reportPartialCompletion(getCompletionPercentage() + (percentage * getChildFactor()));
}
}